home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / basic / ace24dist.lha / ace24.lha / include / graphics / gfxbase.h < prev    next >
C/C++ Source or Header  |  1996-09-10  |  6KB  |  212 lines

  1. #ifndef GRAPHICS_GFXBASE_H
  2. #define GRAPHICS_GFXBASE_H 1
  3. /*
  4. ** gfxbase.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/01/95
  11. **
  12. **
  13. */
  14.  
  15. /*
  16. ** This are the StructPointer defines for gfxbase.h
  17. */
  18. #ifndef GfxBasePtr
  19. #define GfxBasePtr ADDRESS
  20. #endif
  21. /*
  22. ** End of StructPointer defines for gfxbase.h
  23. */
  24.       
  25. #ifndef EXEC_LISTS_H
  26. #include <exec/lists.h>
  27. #endif
  28. #ifndef EXEC_LIBRARIES_H
  29. #include <exec/libraries.h>
  30. #endif
  31. #ifndef EXEC_INTERRUPTS_H
  32. #include <exec/interrupts.h>
  33. #endif
  34. #ifndef GRAPHICS_MONITOR_H
  35. #include <graphics/monitor.h>
  36. #endif
  37. #ifndef HARDWARE_BLIT_H
  38. #include <hardware/blit.h>
  39. #endif
  40.  
  41. STRUCT GfxBase
  42.  
  43.     _Library LibNode 
  44.     ViewPtr  ActiView 
  45.     copinitPtr  copinit    /* ptr to copper start up list */
  46.     ADDRESS   cia            /* for 8520 resource use */
  47.     ADDRESS   blitter        /* for future blitter resource use */
  48.     ADDRESS   LOFlist 
  49.     ADDRESS   SHFlist 
  50.     bltnodePtr  blthd 
  51.     bltnodePtr  blttl 
  52.     bltnodePtr  bsblthd 
  53.     bltnodePtr  bsblttl 
  54.     Interrupt vbsrv 
  55.     Interrupt timsrv 
  56.     Interrupt bltsrv 
  57.     _List TextFonts 
  58.     TextFontPtr  DefaultFont 
  59.     SHORTINT   Modes           /* copy of current first bplcon0 */
  60.     BYTE    VBlank 
  61.     BYTE    Debug 
  62.     SHORTINT    BeamSync 
  63.     SHORTINT    system_bplcon0      /* it is ored into each bplcon0 for display */
  64.     BYTE    SpriteReserved 
  65.     BYTE    bytereserved 
  66.     SHORTINT   Flags 
  67.     SHORTINT    BlitLock 
  68.     SHORTINT    BlitNest 
  69.  
  70.     _List BlitWaitQ 
  71.     TaskPtr  BlitOwner 
  72.     _List TOF_WaitQ 
  73.     SHORTINT   DisplayFlags        /* NTSC PAL GENLOC etc*/
  74.                     /* flags initialized at power on */
  75.     ADDRESS   SimpleSprites 
  76.     SHORTINT   MaxDisplayRow       /* hardware stuff,  do not use */
  77.     SHORTINT   MaxDisplayColumn    /* hardware stuff,  do not use */
  78.     SHORTINT   NormalDisplayRows 
  79.     SHORTINT   NormalDisplayColumns 
  80.     /* the following are for standard non interlace,  1/2 wb width */
  81.     SHORTINT   NormalDPMX      /* Dots per meter on display */
  82.     SHORTINT   NormalDPMY      /* Dots per meter on display */
  83.     SignalSemaphorePtr  LastChanceMemory 
  84.     ADDRESS   LCMptr 
  85.     SHORTINT   MicrosPerLine       /* 256 time usec/line */
  86.     SHORTINT   MinDisplayColumn 
  87.     BYTE    ChipRevBits0 
  88.     BYTE    MemType 
  89.     STRING crb_reserved SIZE 4  
  90.     SHORTINT   monitor_id 
  91.     STRING hedley SIZE 32  /* 8*SIZEOF(LONGINT) */
  92.     STRING hedley_sprites SIZE 32  /* 8*SIZEOF(LONGINT) */  /* sprite ptrs FOR intuition MOUSE */
  93.     STRING hedley_sprites1 SIZE 32 /* 8*SIZEOF(LONGINT) */ /* sprite ptrs FOR intuition MOUSE */
  94.     SHORTINT    hedley_count 
  95.     SHORTINT   hedley_flags 
  96.     SHORTINT    hedley_tmp 
  97.     ADDRESS   hash_table 
  98.     SHORTINT   current_tot_rows 
  99.     SHORTINT   current_tot_cclks 
  100.     BYTE    hedley_hint 
  101.     BYTE    hedley_hint2 
  102.     STRING nreserved SIZE 16  /* 4*SIZEOF(LONGINT) */
  103.     ADDRESS   a2024_sync_raster 
  104.     SHORTINT   control_delta_pal 
  105.     SHORTINT   control_delta_ntsc 
  106.     MonitorSpecPtr  current_monitor 
  107.     _List MonitorList 
  108.     MonitorSpecPtr  default_monitor 
  109.     SignalSemaphorePtr  MonitorListSemaphore 
  110.     ADDRESS   DisplayInfoDataBase 
  111.     SHORTINT   TopLine 
  112.     SignalSemaphorePtr  ActiViewCprSemaphore 
  113.     ADDRESS   UtilBase       /* for hook and tag utilities. had to change because of name clash  */
  114.     ADDRESS   ExecBase       /* to link with rom.lib */
  115.     ADDRESS   bwshifts 
  116.     ADDRESS   StrtFetchMasks 
  117.     ADDRESS   StopFetchMasks 
  118.     ADDRESS   Overrun 
  119.     ADDRESS   RealStops 
  120.     SHORTINT   SpriteWidth     /* current width (in words) of sprites */
  121.     SHORTINT   SpriteFMode         /* current sprite fmode bits    */
  122.     BYTE    SoftSprites     /* bit mask of size change knowledgeable sprites */
  123.     BYTE    arraywidth 
  124.     SHORTINT   DefaultSpriteWidth  /* what width intuition wants */
  125.     BYTE    SprMoveDisable 
  126.     BYTE    WantChips 
  127.     BYTE    BoardMemType 
  128.     BYTE    Bugs 
  129.     ADDRESS   gb_LayersBase 
  130.     LONGINT   ColorMask 
  131.     ADDRESS    IVector 
  132.     ADDRESS    IData 
  133.     LONGINT   SpecialCounter      /* special for double buffering */
  134.     ADDRESS    DBList 
  135.     SHORTINT   MonitorFlags 
  136.     BYTE    ScanDoubledSprites 
  137.     BYTE    BP3Bits 
  138.     AnalogSignalInterval MonitorVBlank 
  139.     MonitorSpecPtr  natural_monitor 
  140.     ADDRESS    ProgData 
  141.     BYTE    ExtSprites 
  142.     BYTE    pad3 
  143.     SHORTINT   GfxFlags 
  144.     LONGINT   VBCounter 
  145.     SignalSemaphorePtr  HashTableSemaphore 
  146.     STRING HWEmul SIZE 36   /*  9*SIZEOF(LONGINT)  */
  147. END STRUCT 
  148.  
  149. /*
  150. #define ChunkyToPlanarPtr HWEmul[0] ???????
  151. */
  152.  
  153.  
  154.  
  155.  
  156.  
  157. /* Values for GfxBase->DisplayFlags */
  158. #define NTSC        1
  159. #define GENLOC      2
  160. #define PAL     4
  161. #define TODA_SAFE   8
  162. #define REALLY_PAL  16  /* what is actual crystal frequency
  163.                  (as opposed to what bootmenu set the agnus to)?
  164.                  (V39) */
  165. #define LPEN_SWAP_FRAMES    32
  166.                 /* LightPen software could set this bit if the
  167.                  * "lpen-with-interlace" fix put in for V39
  168.                  * does not work. This is true of a number of
  169.                  * Agnus chips.
  170.                  * (V40).
  171.                  */
  172.  
  173. #define BLITMSG_FAULT   4
  174.  
  175. /* bits defs for ChipRevBits */
  176. #define GFXB_BIG_BLITS  0
  177. #define GFXB_HR_AGNUS   0
  178. #define GFXB_HR_DENISE  1
  179. #define GFXB_AA_ALICE   2
  180. #define GFXB_AA_LISA    3
  181. #define GFXB_AA_MLISA   4   /* internal use only. */
  182.  
  183. #define GFXF_BIG_BLITS  1
  184. #define GFXF_HR_AGNUS   1
  185. #define GFXF_HR_DENISE  2
  186. #define GFXF_AA_ALICE   4
  187. #define GFXF_AA_LISA    8
  188. #define GFXF_AA_MLISA   16  /* internal use only */
  189.  
  190. /* Pass ONE of these to SetChipRev() */
  191. #define SETCHIPREV_A    GFXF_HR_AGNUS
  192. #define SETCHIPREV_ECS  (GFXF_HR_AGNUS OR GFXF_HR_DENISE)
  193. #define SETCHIPREV_AA   (GFXF_AA_ALICE OR GFXF_AA_LISA OR SETCHIPREV_ECS)
  194. #define SETCHIPREV_BEST &Hffffffff
  195.  
  196. /* memory type */
  197. #define BUS_16      0
  198. #define NML_CAS     0
  199. #define BUS_32      1
  200. #define DBL_CAS     2
  201. #define BANDWIDTH_1X    (BUS_16 OR NML_CAS)
  202. #define BANDWIDTH_2XNML BUS_32
  203. #define BANDWIDTH_2XDBL DBL_CAS
  204. #define BANDWIDTH_4X    (BUS_32 OR DBL_CAS)
  205.  
  206. /* GfxFlags (private) */
  207. #define NEW_DATABASE    1
  208.  
  209. #define GRAPHICSNAME    "graphics.library"
  210.  
  211. #endif  /* GRAPHICS_GFXBASE_H */
  212.